Projeto
Neste exercício irei trabalhar com o banco de dados do kaggle Forest Fires in Brazil que comporta o número de focos de incêndios em florestas brasileiras do ano de 1998 até 2017, os dados foram obtidos a partir do site oficial do governo brasileiro.
Objetivo
Neste exercício o ejetivo é encontrar padrões nos dados, além de trinar visualizações com mapas utilizando o pacote sf em conjunto com o pacote geobr, ambos da biblioteca R. Para me guiar neste trabalho irei realizar alguns questionamentos básicos, que espero poder responder no decorrer do exercício. São eles:
Qual o Estado e região brasileira com mais focos de incêndios em florestas?
Qual o Estado e região com menos focos?
Na região norte qual o estado com mais focos de incêndios?
No estado do Pará qual o mês com mais focos de incêndios na média?
No ano de 2010, qual foi o estado com mais focos de incêndios no Brasil?
No ano de 2010, qual o mês com menos focos de incêndios no estado do Pará?
Preparação
Aquisição dos dados
O banco de dados é composto por uma planilha com 5 colunas e 6454 linhas que contém o número de incẽndios, bem como o estados, mês e ano que esses incêndios ocorreram. Abaixo podemos ver a tabela após o tratamento inicial.
Tratamento dos dados
Além dos dados dos incêndios precisamos também precisamos das coordenadas geográficas para podermos visualizar os mapas, aqui foi utilizado o pacote geobr que possui as coordenadas do território brasileiro (Pais, regiões, estados e municípios) em um formato pronto para trabalhar com o pacote sf, o que facilitou bastante. Neste trabalho utilizei o banco de dados contendo as informações dos estados e outro contendo as informações das regiões. Único tratamento que precisei fazer as tabelas provenientes do pacote geobr foi alterar a coluna que contém o nome dos estados para coincidir com a tabela dos dados.
O processo de tratamento é descrito a seguir:
Há duas formas de trabalhar com datas aqui, a primeira é utilizar a coluna “Período.” que contém informações completas de mês e ano. A segunda forma é utilizar as colunas “X.Ano” e “Mês” que possuem as mesmas informações. Para simplificar as coisas irei trabalhar com as colunas “X.Ano” e “Mês” e por isso o primeiro passo da limpeza é excluir a coluna “Período.” (Fica de exercício fazer o oposto e tratar a coluna “Período.” com o pacote lubridate do tidyverse para extrair o mês e o ano).
Segundo passo é renomear minhas colunas para melhor gerais, retirar acentos e formatar a nomeação das variáveis.
Após retirei da primeira e ultima coluna as aspas e mudei o tipo das variáveis para melhor trabalhar com os dados;
Por último afim de poder trabalhar com o pacote sf precisei realizar a união da tabela contendo as coordenadas geográficas e a tabela contendo o número de incêndios, contudo algumas operações de que precisaremos realizar posteriormente ficariam muito lentas se o fizéssemos com os dados contendo a coluna de coordenadas, então após a união foi necessário retirar tal coluna. A execução do código fica bem mais rápida se realizarmos a inclusão da coluna geográfica somente no momento que realizarmos o plot do gráfico. Abaixo temos o código:
#tratando o objeto "states" do pacote "geobr" para que a coluna "name_state"
#corresponda com a coluna "name_state" do "fire_data_base".
states <- states |>
mutate(
name_state = factor(janitor::make_clean_names(name_state, case = "title", unique_sep = ".")),
name_state = str_replace(name_state,"\\..*",""))
# Renomeando as variáveis, removendo as aspas e convertendo formatos.
fire_data_broad <- fire_data_base |>
select(-Período.) |>
rename(
fire_year = X.Ano,
name_state = Estado,
fire_month = Mês,
fire_number = Número,
) |>
mutate(
fire_year = str_remove(fire_year, "\""),
fire_year = as.double(fire_year),
fire_number = as.integer(fire_number),
name_state = factor(
janitor::make_clean_names(name_state, case = "title", unique_sep = ".")
),
name_state = str_replace(name_state, "\\..*", "")
) |>
with_groups(
c(name_state, fire_year, fire_month),
summarise,
fire_number = sum(fire_number),
fire_month = ordered(
fire_month,
levels = c(
"Janeiro", "Fevereiro", "Março",
"Abril", "Maio", "Junho", "Julho",
"Agosto", "Setembro","Outubro",
"Novembro", "Dezembro"
)
)
) |>
unique() |>
right_join(states,
by = c("name_state")) |>
mutate(name_state = name_state) |>
select(c(fire_year, fire_month, fire_number, name_state, name_region))Abaixo a tabela resultante:
Análise
Depois de tratar os dados podemos enfim responder as perguntas iniciais.
- Quais Estados brasileiro com mais e menos focos de incêndios em florestas?
Podemos observar que o estado com mais foco de incêndio no período do estudo é o estado de São Paulo com 51118 focos, enquanto o estado com menos focos é Sergipe com 3237 focos de incêndios.
- Quais regiões brasileiras com mais e com menos focos?
A região com mais focos de incêndios é o Nordeste com 192.584 focos e a região com menos focos é a região Sul com 88.035 focos de incêndios.